// 为了显示工作台, 静态路由表当成初始值
// 拿到动态路由表之后,再次组合起来  左侧菜单既可以显示动态 又可以显示静态
import { routes, resetRouter } from '@/router'

// 解决切换用户有缓存的bug
// 方案: 在用户退出登录时, 1. 掉哦用清空路由记录的reset方法
// 2. 手动把 Vuex 中得数据也清空
// 3. 把用户信息也清空
export default {
  namespaced: true,
  state: {
    menuList: [...routes] // 存入动态筛选过后的路由表
  },
  mutations: {
    setMenuList(state, asyncRoutes) {
      state.menuList = [...routes, ...asyncRoutes] // 动态路由表
    },
    resetMenu(state) {
      // 重置左侧菜单
      state.menuList = [...routes] //
      // 重置路由系统
      resetRouter()
    }
  },
  actions: {
    setMenuAction({ commit }, menu) {
      commit('setMenuList', menu)
    }
  }
}
